import cookesTools from  '@/mytools/cookesTools'  //从根目录找, 加@ 相当于从src目录开始找
import axios from 'axios'
import { MessageBox, Message } from 'element-ui'

// 创建一个axios对象, 默认给他接口的前缀连接，这个连接是一个公共的链接前缀
const service = axios.create({
    //要用链接公用前缀
    baseURL: "http://localhost:36394/api/", // baseURL是axios内部封装的一个参数, 在执行时候 url = baseURL+ request url
    // withCredentials: true, // send cookies when cross-domain req uests
    timeout: 20000 // request timeout20秒。一千一秒
  })

  // request interceptor   发起请求拦截器    类似于.net api的 过滤器
service.interceptors.request.use(
  config => {
    // do something before request is sent
    let token=cookesTools.getToken();
    console.log(token);
    if (token) {   //提取的token有效,  
      // let each request carry token
      // ['X-Token'] is a custom headers key
      // please modify it according to the actual situation
      config.headers['X-Token'] = token;  //header头中加入 X-Token=token
    }
    return config
  }
)

  // 使用axios拦截器来处理公共返回信息, 类似于.net的 过滤器
service.interceptors.response.use(
    /**
     * If you want to get http information such as headers or status
     * Please return  response => response
    */
  
    /**
     * Determine the request status by custom code
     * Here is just an example
     * You can also judge the status by HTTP Status Code
     */
    response => {
      
        // 获取返回结果
      const res = response.data
      // 如果结果不是成功的,不成功就返回失败的结果
      if (res.code !== 1) {
        Message({
          message: res.message || 'Error',
          type: 'error',
          duration: 5 * 1000   //显示5秒后自动关闭。一千就是一秒
        })
      } else {
        return res //输出错误
      }
    }
  )
  
  export default service